package org.zebra.common.core;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * 分页查询VO类
 *
 * @author zhanghongbin
 */
@EqualsAndHashCode(callSuper = false)
@Data
public abstract class PageQuery<T> extends SortQuery implements Serializable {

    /**
     * 分页大小
     */
    private Integer size;

    /**
     * 当前页数
     */
    private Integer page;

    /**
     * 当前记录起始索引 默认值
     */
    public static int DEFAULT_PAGE_NUM = 1;

    /**
     * 每页显示记录数 默认值 默认查全部
     */
    public static int DEFAULT_PAGE_SIZE = 10;

    public abstract <P> T build();
}
